import Vue from 'vue'
import Vuex from 'vuex'
import { Level } from 'chalk';
Vue.use(Vuex)

const store = new Vuex.Store({
    state: {
        count: 1,
        items: []


    },
    mutations: {

        plusall(state, msg) {

            if (state.items.length == 0) {
                state.items.push(msg)

            } else {
                // if (JSON.stringify(state.items).indexOf(JSON.stringify(msg)) == -1) {
                //     state.items.push(msg)
                // }
                var flar = false;
                state.items.forEach(element => {
                    if (element.name == msg.name) {
                        flar = true;
                        element.num += msg.num
                    }
                })
                if (flar == false) {
                    state.items.push(msg)
                }



            }

        },
        plus(state, item) {
            state.items.forEach(element => {
                    if (element.id === item) {
                        element.num++
                    }
                }


            )
        },
        reduce(state, item) {
            state.items.forEach(element => {
                if (element.id === item && element.num >= 1) {
                    element.num--
                        if (element.num === 0) {
                            console.log(element.num)
                            for (let i = 0; i < state.items.length; i++) {
                                if (state.items[i].id === item) {
                                    state.items.splice(i, 1)
                                }
                            }
                        }
                }
            })
        }


    },
    getters: {
        num(state) {
            var num = 0;
            state.items.forEach(element => {

                num += element.num;
                console.log(num)


            })
            return num
        },
        allnum(state) {
            var num = 0;
            state.items.forEach(element => {
                num += element.num * element.new
            })
            return num
        }
    }
})
export default store
